/**
 * 
 */
package com.taobao.snowsnow.hibernate.service;

import java.util.List;

import com.taobao.snowsnow.hibernate.pojo.Type;

/**
 * @author Tux
 *
 * 创建时间: 2011-4-30 上午01:43:31
 */
public interface TypeService extends BaseService {
	
	/**
	 * 按id来查找
	 * @param id
	 * @return
	 * @throws Exception
	 */
	public Type findById(int id);
	
	/**
	 * 按名称来查找
	 * @param name
	 * @return
	 */
	public List<Type> findByName(String name);
	
	/**
	 * <p>按名称精准来查找Type
	 * @param name
	 * 			要查找的字符串
	 * @return
	 * 			查找到的Type列表
	 * @throws Exception
	 */
	public Type findByNamePrecise(String name);
	
	/**
	 * 查找全部
	 * @return
	 */
	public List<Type> findAll();
	
	
	/**
	 * 分页查找
	 * @return
	 */
	public List<Type> paging(int page, int limit);
	
	/**
	 * 获取全部客户的数量
	 * @return
	 */
	public long getTotal();
	
	public Integer getMaxId();
	
	/**
	 * 通过大类id来查找小类
	 * @param id
	 * @return
	 */
	public List<Type> findByCategoryId(int id);
	/**
	 * 通过大类名称来查找小类
	 * @param name
	 * @return
	 */
	public List<Type> findByCategoryName(String name);
	
	/**
	 * 获取第一个
	 * @return
	 * @throws Exception
	 */
	public Type getFirstObject();
	
	/**
	 * 获取最后一个元素
	 * @return
	 * @throws Exception
	 */
	public Type getLastObject();

}
